﻿#include "binarysearchtree.h"

void TestBSTree()
{
    BinarySearchTree<string, string> dict;
    dict.insert("insert", "插入");
    dict.insert("erase", "删除");
    dict.insert("left", "左边");
    dict.insert("string", "字符串");

    dict.in_order();

    dict.erase("insert");
    dict.in_order();
    dict.erase("erase");
    dict.in_order();
    dict.erase("left");
    dict.in_order();
    dict.erase("string");
    dict.in_order();

    // string s;
    // while (cin >> s)
    // {
    //     const auto ret = dict.find(s);
    //     if (ret)
    //         println("{}:{}", s, ret->value_);
    //     else
    //         println("单词拼写错误");
    // }

    // string strs[] = { "苹果", "西瓜", "苹果", "樱桃", "苹果", "樱桃", "苹果", "樱桃", "苹果" };
    // // 统计水果出现的次
    // BinarySearchTree<string, int> countTree;
    // for (auto& str : strs)
    // {
    //     const auto ret = countTree.find(str);
    //     if (ret == nullptr)
    //         countTree.insert(str, 1);
    //     else
    //         ret->value_++;
    // }
    // countTree.in_order();
}

int main()
{
    TestBSTree();
    return 0;
}
